#pragma once

struct QUEUE
{
	char* base;
	unsigned int head; //头对地址相对偏移
	unsigned int tail; //尾对地址相对偏移
	unsigned int size;
	unsigned int bSize;
	unsigned int num;
	unsigned int nSize;
};

typedef struct QUEUE queue;

//void QueueInit(queue* source,unsigned int baseSize,unsigned int number);
void QueueInit(queue* source,char* buff,unsigned int baseSize,unsigned int number);
void QueueFree(queue* source);
void QueuePush(queue* source,void* from);
void QueuePop(queue* source,void* target);
int QueueEmpty(queue* source);

